package edu.zut.typeConversion;

public class ConversionDemo {

    /**
     * 数据类型的转换：
     *      数值    类型  相互转换   boolean类型不参与
     *      例如：  int ----> double
     *
     *      byte、short、(char)int、long、float、double
     *      自动类型转换   数据不会丢失
     *          按照 数据类型的大小（根据取值范围大小  从小到大转换  ）
     *
     *         例如： int ----> double
     *
     *      强制类型转换   数据（精度）可能丢失
     *          (从大到小转换   )
     *         例如: double ----> int
     *
     */
    public static void main(String[] args) {
        // = 赋值   将右边的值赋给左边
        int score = 100;

        long s2 = score;//100

        float f2 = score;//100.0

        double d2 = score;//100.00

        double d3 = f2;//100.00

        char ch = 'a';

        int i = ch;//97

//        byte b = ch;  char 不能自动转byte、short

        int a = 100;
//        int 不能自动转char
        char ch2 = (char) a;
        char ch3 = 100;

        a = ch2;

        int h =102;

//        short s = h;

        long m = h;  //102

        float f = h;//102.0

        h = 138;
        //127   强制转换    注意 数据溢出
        byte b =(byte) h;  //-118
        System.out.println("b="+b);

        f = 202.235f;

        h =(int) f;  //202     精度丢失
        System.out.println("h="+h);


        char ch4 = 'z';
        //自动转
        int z = ch4;

        int y = 101;

        ch4 = (char) y;






    }
}
